package com.francesc.bo.borsa.model;

import java.util.Date;

import com.francesc.bo.borsa.model.base.BaseModel;
import com.francesc.bo.borsa.model.mestre.TipusMoviment;

public class Moviment extends BaseModel {

	private Long id;
	private Valor valor;
	private Double ppa;
	private Integer numAccions;
	private TipusMoviment tipusMoviment;

	public TipusMoviment getTipusMoviment() {
		return tipusMoviment;
	}

	public void setTipusMoviment(TipusMoviment tipusMoviment) {
		this.tipusMoviment = tipusMoviment;
	}

	private Date data;

	public Integer getNumAccions() {
		return numAccions;
	}

	public void setNumAccions(Integer numAccions) {
		this.numAccions = numAccions;
	}

	public Moviment() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Moviment(Long id, Valor valor, Double ppa, Integer numAccions,
			TipusMoviment tipusMoviment, Date data) {
		super();
		this.id = id;
		this.valor = valor;
		this.ppa = ppa;
		this.numAccions = numAccions;
		this.tipusMoviment = tipusMoviment;
		this.data = data;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Valor getValor() {
		return valor;
	}

	public void setValor(Valor valor) {
		this.valor = valor;
	}

	public Double getPpa() {
		return ppa;
	}

	public void setPpa(Double ppa) {
		this.ppa = ppa;
	}

	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	@Override
	public int compareTo(Object moviment) {
		return this.getData().compareTo(((Moviment) moviment).getData());
	}

	public boolean equals(Object o) {
		return (getValor().getId().equals(((Moviment) o).getValor().getId()));
	}

	public String toString() {
		return data + " " + valor.getCodi() + ": #Accions" + numAccions
				+ " preu:" + ppa;
	}
}
